def render_list(self,items=None,title=None,attributes={},list_type=None,title_type=None,
                render_item_content=None):
    if not list_type:
        list_type = 'ul'
    assert list_type in ('ul','ol')

    def render_items(items):
        output = []
        for item in items:
            if isinstance(item,(list,tuple)):
                output.append(render_items(item))
            else:
                output.append(self.render_list_item(item,render_content=render_item_content))
        return self.render_tag(list_type,self.safe(u''.join(output)))

    if items:
        return self.render_block(content=render_items(items),title=title,
                                 title_type=title_type,attributes=attributes)
    return u''

def render_list_item(self,content=None,attributes={},render_content=None):
    return self.render_tag('li',content,attributes,render_content)

